Identification device, identification method, and identification program

ABSTRACT

An identification apparatus includes processing circuitry configured to determine whether or not a first image and a second image are similar based on feature points extracted from each of the first image and the second image, and determine whether or not the first image and the second image are similar by comparing neighborhood graphs generated for each of the first image and the second image, the feature points being as nodes.

TECHNICAL FIELD

The present invention relates to an identification apparatus, an identification method, and an identification program.

BACKGROUND ART

A method for manufacturing products called Original Equipment Manufacturer (OEM) is known. OEM products are manufactured by companies, which are suppliers of products, provided to another company, and sold under the brand name of the company to which the OEM product is provided.

This OEM manufacturing method has recently been adopted in many industries and companies because product manufacturing costs can be reduced. The same applies to the IT industry. Even IT devices (network cameras or routers), which are commonly utilized, are made by the OEM manufacturer.

There is also a case in which one OEM product supplier company provides a product, which is sold under its name to a plurality of companies (hereinafter, an original product), as an OEM product having the same design. It is known that this provided OEM product only replaces the brand logo that has been printed on the device, and some are partially customized in and out of the device.

This OEM manufacturing method is known to have a problem that if a defect, such as vulnerability, has been found in the firmware of products which are designed and sold by the OEM product supplier company, similar vulnerabilities are often found in similarly designed. OEM products.

Indeed, a study conducted by the research company IPVM in 2017 (See, for example, NPL 1.) reports that vulnerabilities found in products of OEM product supplier companies have also been found in products of equal to or greater than 80 companies offered OEM products.

Herein, normally, it is necessary to give attention not only to the original product but also to the user of the OEM product containing vulnerability in use. However, because of business reasons and the like, OEM product marketers often do not promulgate their products to be OEM products, and thus, even if there was similar vulnerability to the original product in their products, it was often not published and cautioned.

CITATION LIST Non Patent Literature

NPL 1: 80+ OEMs Verified Vulnerable To Hikvision Backdoor [online], [Search on Nov. 15, 2019], Internet (https://ipvm.com/reports/hik-oem-vuln)

SUMMARY OF THE INVENTION Technical Problem

However, the related art has a problem that it may be difficult to efficiently identify OEM products. In the investigation described in NPL 1, an OEM product is identified by manually inspecting a label or the like of the product.

Means for Solving the Problem

In order to solve above-described problem and to achieve an object, an identification apparatus includes: a first determination unit configured to determine whether or not a first image and a second image are similar based on feature points extracted from each of the first image and the second image; and a second determination unit configured to determine whether or not the first image and the second image are similar by comparing neighborhood graphs generated for each of the first image and the second image, the feature points being as nodes.

Effects of the Invention

According to the present invention, an OEM product can be efficiently identified.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating a configuration example of an identification apparatus.

FIG. 2 is a diagram illustrating an example of feature points.

FIG. 3 is a diagram illustrating an example of coordinates and feature amounts of feature points of an original image.

FIG. 4 is a diagram illustrating an example of coordinates and feature amounts of feature points of an inspection target image.

FIG. 5 is a diagram illustrating an example of analogous feature points.

FIG. 6 is a diagram illustrating an example of coordinates and feature amounts of analogous feature points.

FIG. 7 is a diagram for explaining a method of calculating local similarity degree between images.

FIG. 8 is a diagram for explaining a neighborhood graph.

FIG. 9 is a diagram illustrating an example of an adjacency matrix representing a neighborhood graph.

FIG. 10 is a flowchart illustrating an example of flow of process of the identification apparatus.

FIG. 11 is a diagram illustrating a configuration example of a computer.

DESCRIPTION OF EMBODIMENTS

Embodiments of an identification apparatus, an identification method and an identification program will be described in detail with reference to the drawings. The present invention is not limited to the embodiments described below.

First Embodiment Configuration

As illustrated in FIG. 1 , an image file showing the appearance of an original product and an image file showing the appearance of an inspection target product are inputted into an identification apparatus 10. The image of each image file is an image captured by a camera or the like. In the following description, the image with the appearance of the original product is referred to as an original image. Moreover, the image with the appearance of the inspection target product is referred to as an inspection target image. Furthermore, the original image is one example of a first image. Moreover, the inspection target image is one example of a second image.

The identification apparatus 10 determines whether or not the product captured in the inspection target image is similar to the product captured in the original image. In accordance with a determination that the products are similar, the inspection target product is identified as a candidate for the OEM product, and the product information is outputted. For example, the identification apparatus 10 outputs a feature amount extracted from the inspection target image.

The identification apparatus 10 has a removal unit 11, a local similarity determination unit 12, and a global similarity determination unit 13. Moreover, the local similarity determination unit 12 has a feature point extraction unit 121, a search unit 122, and a first determination unit 123. Furthermore, the global similarity determination unit 13 has a neighborhood graph generation unit 131 and a second determination unit 132.

The removal unit 11 removes a logo of the predetermined product captured in the image from at least one of the original image or the inspection target image. For example, the removal unit 11 removes the logo for both the original image and the inspection target image by masking a region that is recognized to have a logo with an image of a predetermined size that is aligned with the region.

An OEM product may be sold with a different brand logo from the original product. Thus, it is a matter of course that the features of the portions of the brand logo in the original image and the inspection target image are different from each other, and if the images are compared as they are, similarity determination accuracy may be deteriorated, The removal unit 11 can pre-remove such a brand logo so that features can be compared from only the object appearances of the products in a subsequent similarity determination process.

The removal unit 11 can fill and completely mask the portion of the brand logo in the image with the same shape, color and size to remove the brand logo from both images. Alternatively, the removal unit 11 may remove the brand logo by a method described in Reference 1 (Wei-Qi Yan, Jun Wang, Mohan S. Kankanhalli, Automatic video logo detection and removal, Multimedia Systems, v.10. n.5, p. 379-391, August 2005).

The feature point extraction unit 121 extracts feature points from the original image and the inspection target image. The feature point extraction unit 121 uses a specific object recognition algorithm to extract a coordinate for each feature point that significantly represents each image unique feature and a feature amount that is information associated with the feature points. By using a specific object recognition algorithm, the feature point extraction unit 121 can extract features that can compare the analogy of the appearance of the product captured in each image even when the shooting conditions, such as the position of the light source at the time of shooting and the shooting direction, are different between the images, or even when the sizes of the images are different.

For example, the feature point extraction unit 121 can utilize highly accurate KAZE (Reference 2: Alcantarilla P. F., Bartoli A., Davison A. J. (2012) KAZE Features, In Fitzgibbon A., Lazebnik. S., Perona P., Sato Y., Schmid C. (eds) Computer Vision-ECCV 2012. ECCV 2012. Lecture Notes in Computer Science, vol 7577. Springer, Berlin, Heidelberg) as the specific object recognition algorithm. Additionally, the feature point extraction unit 121 may utilize SIFT, SURF, ORB, BRISK, A-KAZE or the like as the specific object recognition algorithm.

FIG. 2 is a diagram illustrating an example of the feature points. As illustrated in FIG. 2 , the feature point extraction unit 121 uses a specific object recognition algorithm to extract a portion (e.g., an edge portion) or the like having a large change in density in the image as a feature point. In a case where a product is captured in an image, the portion of the product that is the outline of the object tends to be extracted as a feature point. Moreover, the number of extracted feature points may also vary depending on the image, For example, the feature amount is gradient information around the feature point, or the like.

FIG. 3 is a diagram illustrating an example of coordinates and feature amounts of feature points of the original image. Moreover, FIG. 4 is a diagram illustrating an example of coordinates and feature amounts of feature points of the inspection target image. FIGS. 3 and 4 illustrate the coordinates and feature amounts of the feature points of each image extracted by the feature point extraction unit 121 utilizing the KAZE. Its KAZE, the feature amount is generally expressed by a 64 dimensional feature vector.

The search unit 122 searches for sets of feature points in which feature amounts are similar to each other from among sets of feature points extracted from the original image and feature points extracted from the inspection target image. The search unit 122 calculates the distance between the feature points based on the feature amount (feature vector) of each image. Then, the search unit 122 searches for sets of mutually similar feature points based on the calculated proximity of distance. In the following description, the relationship of mutually similar feature points searched by the search unit 122 may be referred to as an analogy.

For example, among the feature points of the inspection target image, a feature point, which has the distance from a predetermined feature point of the original image is equal to or greater than a certain value, and the closest may be regarded as an analogous feature point by the search unit 122.

The search unit 122 can apply a distance suitable for each specific object recognition algorithm, such as a Manhattan distance, a Euclidean distance, or a Hamming distance, as the distance between the feature amounts. Furthermore, in addition to the aforementioned total search technique, the search unit 122 may also utilize k-neighborhood method algorithm (Reference 3: N. S. Altman, An introduction to kernel and nearest-neighbor nonparametric regression, The American Statistician, vol.46, issue.3, pp. 175-185, 1992) to search for analogous feature points at high speed.

FIG. 5 is a diagram illustrating an example of the analogous feature points. in FIG. 5 , for the purposes of illustration, the analogous feature points searched by the search unit 122 are connected by lines. Moreover, FIG. 6 is a diagram illustrating an example of coordinates and feature amounts of analogous feature points. In the example of FIG. 6 , a set of the 36th feature point of the original image and the 33rd feature point of the inspection target image is regarded as a set of analogous feature points by the search unit 122.

The first determination unit 123 determines whether or not the original image and the inspection target image are similar based on the feature points extracted from each of the original image and the inspection target image. The first determination unit 123 can make a determination based on a result of the search by the search unit 122. That is, the first determination unit 123 determines whether or not the original image and the inspection target image are similar based on a set of the feature points having similar feature amounts from among sets of feature points extracted from the original image and feature points extracted from the inspection target image.

More specifically, the first determination unit 123 determines that the original image and the inspection target image are similar in a case where the number of sets, in which the distance between the feature vectors of each feature point meets predetermined conditions, is equal to or greater than a threshold from among the sets of the feature points extracted from the original image and the feature points extracted from the inspection target image.

The first determination unit 123 makes a determination based on local similarity degree. FIG. 7 is a diagram for explaining a method of calculating the local similarity degree between images. Herein, the number of feature points extracted from the original image by the feature point extraction unit 121 is 256. Furthermore, the number of feature points extracted from the inspection target image by the feature point extraction unit 121 is 188. In addition, by searching with the search unit 122, the number of sets of feature points that are regarded to be analogous is 104.

At this time, the first determination unit 123 calculates the local similarity degree (the number of sets of feature points regarded to be analogous)/(the number of feature points extracted from the original image). Herein, the local similarity degree threshold is 40%, In the example of FIG. 7 , because the local similarity degree is 40.6% and exceeds the threshold, the first determination unit 123 determines that the original image and the inspection target image are similar,

In accordance with a determination of the local similarity determination unit 12 that the original image and the inspection target image are similar, the global similarity determination unit 13 further calculates a global similarity degree and determines whether or not the original image and the inspection target image are similar based on the global similarity degree.

The neighborhood graph generation unit 131 generates, for each of the original image and the inspection target image, a neighborhood graph with feature points regarded to be analogous by the search unit 122 as nodes. The neighborhood graph is a graph defined on a plane based on the proximity of points and, for a point set on the metric space, is an undirected graph in which a combination of neighborhood points is extracted using the point-to-point distance and the pair of points can be connected by the side.

FIG. 8 is a diagram for explaining the neighborhood graph. As illustrated in FIG. 8 , the neighborhood graph generation unit 131 extracts a combination of neighborhood points from analogous feature points of each image. Then, the neighborhood graph generation unit 131 generates a neighborhood graph in which a point pair of each neighborhood point is connected. with a side.

The neighborhood graph generation unit 131 can also generate a relative neighborhood graph (Reference 4: Toussaint, G. T.: The relative neighborhood graph of a finite planar set. Patte.$m$ Recognition, Vol. 12, No.4, pp. 261-268 (1980).). Moreover, the neighborhood graph generation unit 131 may also generate a Gabriel graph, a nearest neighborhood graph, a β-skeleton graph, or the like.

The neighborhood graph is represented by adjacency matrix. FIG. 9 is a diagram illustrating an example of the adjacency matrix representing a neighborhood graph. In the example of FIGS. 8 and 9 , the neighborhood graph is generated from 47 feature points. Rows and columns of the adjacency matrix correspond to the feature points of each image. Moreover, among the adjacency matrix values, one indicates that there is a side in the point pair, and 0 indicates that there is no side in the point pair.

The second determination unit 132 compares the neighborhood graphs, in which feature points are nodes, generated for each of the original image and the inspection target image to determine whether or not the original image and the inspection target image are similar. Moreover, in accordance with a determination of the first determination unit 123 that the original image and the inspection target image are similar, the second determination unit 132 determines whether or not the original image and the inspection target image are similar by comparing the neighborhood graphs with feature points included in the set in which the feature amounts are similar to each other, the feature points being nodes.

The second determination unit 132 can determine whether or not the original image and the inspection target image are similar based on the similarity degree calculated using the graph kernel of the neighborhood graph generated for the original image and the neighborhood graph generated for the inspection target image. The second determination unit 132 calculates a similarity degree based on the graph kernel of each image of as a global similarity degree and determines that the original image and the inspection target image are similar in a case where the global similarity degree exceeds a threshold.

The second determination unit 132 can use Shortest-Path Kernel (Reference 5: Karsten Borgwardt and Hans-Peter Kriegel. Shortest-path kernels on graphs. In Proceedings of the International Conference on Data Mining, pages 74-81, 2005.) as a graph kernel. Furthermore, the second determination unit 132 may use a Random Walk Kernel, Graphlet Count Kernel, Weisfeiler-Lehman Kernel or the like as a graph kernel.

In accordance with a determination that the original image and the inspection target image are similar, the second determination unit 132 regards the object captured in the inspection target image as a candidate for the OEM product of the original product and outputs information on the candidate for the OEM product.

Processing Flow

The flow of process of the identification apparatus 10 will be described using FIG. 10 . FIG. 10 is a flowchart illustrating an example of the flow of the process of the identification apparatus. As shown in FIG. 10 , first, the identification apparatus 10 accepts inputs of the image file of the original product and the image file of the inspection target product (Step S101). Herein, the identification apparatus 10 removes a logo from each image as necessary (Step S102).

Next, the identification apparatus 10 extracts the feature points from each image (Step S103). Then, based on the feature points, the identification apparatus 10 calculates a local similarity degree between the images (Step S104). Herein, the identification apparatus 10 determines whether or not the local similarity degree is equal to or greater than the threshold (Step S105). In a case where the local similarity degree is not equal to or greater than the threshold value (Step S105, No), the identification apparatus 10 does not regard the inspection target as the OEM product, and the process ends.

On the other hand, in a case where the local similarity degree is equal to or greater than the threshold (Step S105, Yes), the identification apparatus 10 generates a neighborhood graph from the extracted feature points (Step S106). The identification apparatus 10 calculates, based on the neighborhood graphs, a global similarity degree between the images (Step S107). Herein, the identification apparatus 10 determines whether or not the global similarity degree is equal to or greater than the threshold (Step S108). In a case where the global similarity degree is not equal to or greater than the threshold (Step S108, No), the identification apparatus 10 does not regard the inspection target as an OEM product, and the process ends.

On the other hand, in a case where the global similarity degree is equal to or greater than the threshold (Step S108, Yes), the identification apparatus 10 determines that the product captured in the original image and the product captured in the inspection target image are similar (Step S109). That is, the identification apparatus 10 determines that the product captured in the inspection target image is an OEM product.

Advantages

As described above, the first determination unit 123 determines whether or not the original image and the inspection target image are similar based on the feature points extracted from each of the original image and the inspection target image. The second determination unit 132 compares the neighborhood graphs, in which feature points are nodes, generated for each of the original image and the inspection target image to determine whether or not the original image and the inspection target image are similar. In this way, the identification apparatus 10 can automatically determine whether or not the inspection target product and original product are similar based on the inputted images. Since the OEM product is often similar in appearance to the original product, the identification apparatus 10 of the present example can efficiently identify the OEM product.

Moreover, the first determination unit 123 can determine whether or not the original image and the inspection target image are similar based on the set of the feature points having similar feature amounts from among sets of feature points extracted from the original image and feature points extracted from the inspection target image. In this case, in accordance with a determination of the first determination unit 123 that the original image and the inspection target image are similar, the second determination unit 132 determines whether or not the original image and the inspection target image are similar by comparing the neighborhood graphs with feature points included in the set in which the feature amounts are similar to each other, the feature points being nodes. In this way, the identification apparatus 10 makes two steps of determination, which are the local similarity determination and the global similarity determination. As a result, according to the identification apparatus 10 of the present embodiment, the process for similarity determination can be efficient.

In addition, the first determination unit 123 can determine that the original image and the inspection target image are similar in a case where the number of sets, in which the distance between the feature vectors of each feature point meets predetermined conditions, is equal to or greater than a threshold from among the sets of the feature points extracted from the original image and the feature points extracted from the inspection target image. In this way, the identification apparatus 10 calculates the similarity degree for each feature point. As a result, according to the identification apparatus 10 of the present embodiment, local similarity degree determination can be made.

The second determination unit 132 determines whether or not the original image and the inspection target image are similar based on the similarity degree calculated using the graph kernel of the neighborhood graph generated for the original image and the neighborhood graph generated for the inspection target image. In this way, the identification apparatus 10 can make determination based on the structural similarity degree using the neighborhood graphs, As a result, according to the identification apparatus 10 of the present embodiment, determination of the global similarity degree can be made.

The removal unit 11 removes a logo of the predetermined product captured in the image from at least one of the original image or the inspection target image. It is believed that in the original products and the OEM products, the brand logos assigned to each are often different. Therefore, in order to accurately identify the OEM product, it is believed that the logo portion is ignored, and only focus on the object appearance of the product so that the accuracy is improved. Thus, according to the identification apparatus 10 of the present embodiment, it is possible to remove a logo from the images and improve the identification accuracy of the OEM products.

Moreover, the removal unit 11 removes the logo for both the original image and the inspection target image by masking a region that is recognized to have a logo with an image of a predetermined size that is aligned with the region. Thus, according to the identification apparatus 10 of the present embodiment, it is possible to remove a logo from the images and improve the identification accuracy of the OEM products. Furthermore, the portion where the logo was present is masked by a common image, and therefore, a reduction in the identification accuracy is suppressed.

Note that it is believed that there are different colors of paint or pattern addition to the original product in the OEM product. Thus, the removal unit 11 may further remove the pattern or color drawn on the product in addition to the logo. For example, the removal unit 11 may convert the image of the color into a black and white binary image to remove color. Moreover, the removal unit 11 may generate an image in which only the outline of the object captured in the image has been extracted.

System Configuration and the Like

Further, each component of each of the illustrated apparatuses is configured with a functional concept and does not necessarily have to be physically configured as illustrated in the drawing. That is, the specific form of distribution and integration of each apparatus is not limited to the one illustrated in the drawing and all or part of them can be functionally or physically distributed or integrated in arbitrary units according to various loads, usage conditions, and the like. Further, all or some of processing functions performed by each apparatus may be implemented by a central processing unit (CPU) and a program analyzed and executed by the CPU, or may be implemented as hardware by wired logic.

In addition, all or some of the processes described as being performed automatically among the processes described in this embodiment can be performed manually, or all or some of the processes described as being performed manually can be performed automatically by a known method. Further, the processing procedures, the control procedures, the specific names, and information including various data and parameters described in the specification or shown in the drawings may be arbitrarily changed except for specified cases.

Program

As an embodiment, the identification apparatus 10 can be implemented by installing information distribution program executing the above-described information distribution processing in a desired computer as packaged software or online software. For example, the information processing apparatus can be made to function as the identification apparatus 10 by causing the information processing apparatus to execute the above-described information distribution program. Here, the information processing apparatus includes a desktop or laptop personal computer. In addition, as the information processing apparatus, a mobile communication terminal such as a smart phone, a mobile phone, and a Personal Handyphone System (PHS), or a smart terminal such as Personal Digital Assistant (PDA) are included in the category.

In addition, the identification apparatus 10 can be implemented as an information distribution server apparatus that has a terminal device used by a user as a client and provides service related to the information distribution processing for the client. For example, the information distribution server apparatus is implemented as a server apparatus that provides information distribution service in which graph data is input and graph signal processing or an analysis result of graph data is output. In this case, the information distribution server apparatus may be implemented as a web server or may be implemented as a cloud that provides service related to the above-described information distribution processing by outsourcing.

FIG. 11 is a diagram illustrating an example of a computer executing an information distribution program. The computer 1000 has, for example, a memory 1010 and a CPU 1020. The computer 1000 has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.

The memory 1010 includes a read only memory (ROM) 1011 and a random access memory (RAM) 1012. The ROM 1011 stores a boot program such as, for example, a basic input output system (BIOS). The hard disk drive interface 1030 is connected to a hard disk drive 1090. The disk drive interface 1040 is connected to a disk drive 1100. A removable storage medium such as, for example, a magnetic disc or an optical disc is inserted into the disk drive 1100. The serial port interface 1050 is connected, fix example, to a mouse 1110 and a keyboard 1120. The video adapter 1060 is connected, for example, to a display 1130.

The hard disk drive 1090 stores, for example. an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program defining each processing of the identification apparatus 10 is implemented as a program module 1093 in which a computer executable code is described. The program module 1093 is stored in, for example, the hard disk drive 1090. For example, the program module 1093 for executing the same process as that performed by the functional configuration in the identification apparatus 10 is stored in the hard disk drive 1090. The hard disk drive 1090 may be replaced with an SSD.

Further, setting data used in the process of the embodiment described above is stored as the program data 1094 in the memory 1010 or the hard disk drive 1090, for example. The CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 into the RAM 1012 as necessary, and executes the processing of the above-described embodiments.

The program module 1093 and the program data 1094 are not necessarily stored in the hard disk drive 1090, and may be stored in, for example, a removable storage medium and be read out by the CPU 1020 through the disk drive 1100 or the like. For example, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (such as a local area network (LAN) or a wide area network (WAN)). Alternatively, the program module 1093 and the program data 1094 may be read out from another computer by the CPU 1020 via the network interface 1070,

REFERENCE SIGNS LIST

10 Identification apparatus

11 Removal unit

12 Local similarity determination unit

13 Global similarity determination unit

121 feature point extraction unit

122 Search unit

123 First determination unit

131 Neighborhood graph generation unit

132 Second determination unit 

1. An identification apparatus comprising: processing circuitry configured to: determine whether or not a first image and a second image are similar based on feature points extracted from each of the first image and the second image; and determine whether or not the first image and the second image are similar by comparing neighborhood graphs generated for each of the first image and the second image, the feature points being as nodes.
 2. The identification apparatus according to claim 1, wherein the processing circuitry is further configured to: determine whether or not the first image and the second image are similar based on a set of feature points that are similar in feature amounts from among sets of feature points extracted from the first image and feature points extracted from the second image, and in accordance with a determination that the first image and the second image are similar, determine whether or not the first image and the second image are similar by comparing neighborhood graphs with feature points included in a set in which the feature amounts are similar to each other, the feature points being nodes.
 3. The identification apparatus according to claim 1, wherein the processing circuitry is further configured to determine that the first image and the second image are similar in a case where a number of sets, in which a distance between feature vectors of each feature point meets a predetermined condition, is equal to or greater than a threshold from among sets of the feature points extracted from the first image and the feature points extracted from the second image.
 4. The identification apparatus according to claim 1, wherein the processing circuitry is further configured to determine whether or not the first image and the second image are similar based on a similarity degree calculated using a graph kernel of a neighborhood graph generated for the first image and a neighborhood graph generated for the second image.
 5. The identification apparatus according to claim 1, wherein the processing circuitry is further configured to remove a logo of a predetermined product captured in an image from at least one of the first image or the second image.
 6. The identification apparatus according to claim 5, wherein the processing circuitry is further configured to remove a logo for bath the first image and the second image by masking a region that is recognized to have a logo with an image of a predetermined size aligned with the region.
 7. An identification method comprising: determining whether or not a first image and a second image are similar based on feature points extracted from each of the first image and the second image, by processing circuitry; and determining whether or not the first image and the second image are similar by comparing neighborhood graphs generated for each of the first image and the second image, the feature points being as nodes.
 8. A non-transitory computer-readable recording medium storing therein an identification program that causes a computer to execute a process comprising: determining whether or not a first image and a second image are similar based on feature points extracted from each of the first image and the second image; and determining whether or not the first image and the second image are similar by comparing neighborhood graphs generated for each of the first image and the second image, the feature points being as nodes. 